/**
 * Copyright (C), 2020, Y2 T205
 * FileName: OrderConfirmVo
 * Author: Lenovo
 * Date: 2020-05-27 19:57
 * Description:
 * History:
 * <author> <time> <version> <desc>
 * 作者姓名 修改时间 版本号 描述
 */


package com.atguigu.gulimall.order.vo;


import lombok.Data;
import lombok.Getter;
import lombok.Setter;

import java.math.BigDecimal;
import java.util.List;
import java.util.Map;

/**
 * 〈一句话功能简述〉<br>
 * 〈〉
 *
 * @author Lenovo
 * @create 2020-05-27
 * @since 1.0.0
 */
/*订单确认也需要用到的数据*/

public class OrderConfirmVo {
//收货地址，ums_member_receive_address
    @Getter @Setter
    List<MemberAddressVo> address;

//    所有选中的购物项
@Getter @Setter
    List<OrderItemVo> items;

//    会员的积分信息
@Getter @Setter
    Integer integration;

//map集合 键表示skuid 值表示是否有库存
@Getter @Setter
   Map<Long,Boolean> stocks;

//  数量

   // BigDecimal total; //订单 总额

    public BigDecimal getTotal() {
        BigDecimal sum =new BigDecimal("0");
        if(items!=null){
            for(OrderItemVo item:items){
                BigDecimal multiply = item.getPrice().multiply(new BigDecimal(item.getCount().toString()));
                sum =sum.add(multiply);
            }
        }
        return sum;
    }

 //   BigDecimal payPrice; //应付的价格

    public BigDecimal getPayPrice() {

        return getTotal();
    }

//    防止用户多次的点击提交订单 设置一个唯一的订单的id，防止重复提交 防重令牌
@Getter @Setter
    String orderToken;


    public Integer getCount(){
        Integer i=0;
        if(items!=null){
            for(OrderItemVo item:items){
                i+=item.getCount();
            }
        }
        return i;
    }

    public Integer count;
}
